//package com.videoaggre.zcl.helper
//
//import android.content.Intent
//import android.net.Uri
//import com.alibaba.fastjson.JSON
//import com.alibaba.fastjson.JSONObject
//import com.videoaggre.zcl.R
//import com.videoaggre.zcl.ui.dialog.showAlertDialog
//import com.videoaggre.zcl.ui.viewmodel.BackgroundCommonApi
//import com.videoaggre.zcl.utils.ActivityManger
//import com.videoaggre.zcl.utils.Logger
//import org.lzh.framework.updatepluginlib.model.CheckEntity
//import org.lzh.framework.updatepluginlib.model.Update
//
//
//object UpdateHelper {
//    private const val TIME = 1 * 60 * 60 * 1000// 1小时后再次检查更新
//    var lastCheckTime: Long = 0
//    fun checkUpdate() {
//        if (System.currentTimeMillis() - lastCheckTime > TIME) {
//            lastCheckTime = System.currentTimeMillis()
//            BackgroundCommonApi.appVersion {
//                it?.let {
//                    val jsonObject = JSON.parseObject(JSONObject.toJSONString(it))
//                    val update = isUpdate(R.string.version_name.getString(), jsonObject.getString("version"))
//                    Logger.e("update==>${update}")
//                    val isForced = jsonObject.getIntValue("isForce") == 1
//                    val updateUrl = jsonObject.getString("url")
//                    if (update) {
//                        ActivityManger.getCurActivity().showAlertDialog {
//                            message(message = "下载新版本体验更佳")
//                            if (!isForced)
//                                negativeButton { }
//                            positiveButton(name = "更新") { ActivityManger.getCurActivity().startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(updateUrl))) }
//                        }
//                    }
//                }
//            }
//            /*UpdateBuilder.create()
//                .setUrl("update")
//                .setCheckWorker(CheckWorker::class.java)
//                .setUpdateParser(UpdateParser())
//                .setUpdateChecker(UpdateChecker())
//                .setFileChecker(FileChecker())
//                .setUpdateStrategy(UpdateStrategy())
//                .check()*/
//        }
//    }
//
//    class CheckWorker : org.lzh.framework.updatepluginlib.base.CheckWorker() {
//        override fun useAsync() = true
//        override fun asyncCheck(entity: CheckEntity?) {
//            BackgroundCommonApi.appVersion {
//                if (it != null) {
//                    onResponse(JSONObject.toJSONString(it))
//                } else {
//                    onError(RuntimeException("拉取新版本失败"))
//                }
//            }
//        }
//    }
//
//    class UpdateParser : org.lzh.framework.updatepluginlib.base.UpdateParser() {
//        override fun parse(response: String?): Update {
//            val jsonObject = JSON.parseObject(response)
//            Logger.e("jsonObject==>${jsonObject}")
//            val update = Update()
//            update.versionName = jsonObject.getString("version")
//            update.updateContent = "下载新版本体验更佳"
//            update.isForced = jsonObject.getIntValue("isForce") == 1
//            update.updateUrl = jsonObject.getString("url")
//            return update
//        }
//    }
//
//    class UpdateChecker : org.lzh.framework.updatepluginlib.base.UpdateChecker() {
//        override fun check(update: Update) = isUpdate(R.string.version_name.getString(), update.versionName)
//    }
//
//    class FileChecker : org.lzh.framework.updatepluginlib.base.FileChecker() {
//        override fun onCheckBeforeDownload() = false
//        override fun onCheckBeforeInstall() {}
//    }
//
//    class UpdateStrategy : org.lzh.framework.updatepluginlib.base.UpdateStrategy() {
//        override fun isShowUpdateDialog(update: Update) = true
//        override fun isShowDownloadDialog() = true
//        override fun isAutoInstall() = true
//    }
//
//    fun isUpdate(versionName: String, serviceVersion: String): Boolean {
//        Logger.e("versionName==<${versionName}<===>${serviceVersion}")
//        var isUpdate = false
//        try {
//            val versionNameArr = versionName.split(".").toTypedArray()
//            val serviceVersionArr = serviceVersion.split(".").toTypedArray()
//            // 本地小于服务器更新1.0  1.1
//            for (i in 0 until Math.min(versionNameArr.size, serviceVersionArr.size)) {
//                val local = versionNameArr[i].toInt()
//                val service = serviceVersionArr[i].toInt()
//                if (local < service) {
//                    isUpdate = true
//                    break
//                } else if (local == service) { // 跳过
//                } else { // 本地大于远端，不更新
//                    break
//                }
//            }
//            if (!isUpdate && versionNameArr.size < serviceVersionArr.size) {
//                isUpdate = true
//            }
//        } catch (e: Exception) {
//            Logger.e(e)
//        }
//        return isUpdate
//    }
//}